Update top_row. Remove extraneous print statements.
authorJonathan Blandford <jrb@redhat.com>
Mon, 21 Jan 2002 23:30:17 +0000 (23:30 +0000)
committerJonathan Blandford <jrb@src.gnome.org>
Mon, 21 Jan 2002 23:30:17 +0000 (23:30 +0000)
Mon Jan 21 18:28:17 2002  Jonathan Blandford  <jrb@redhat.com>

* gtk/gtktreeview.c (gtk_tree_view_adjustment_changed): Update
top_row.  Remove extraneous print statements.

ChangeLog
ChangeLog.pre-2-0
ChangeLog.pre-2-10
ChangeLog.pre-2-2
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtktreeprivate.h
gtk/gtktreeview.c
gtk/gtktreeviewcolumn.c

index 73cc454787168f3ea97823b25749f386f7b2e009..630283ff9c6d5b0b139ee93756ead2adbe454325 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Mon Jan 21 18:28:17 2002  Jonathan Blandford  <jrb@redhat.com>
+
+       * gtk/gtktreeview.c (gtk_tree_view_adjustment_changed): Update
+       top_row.  Remove extraneous print statements.
+
 2002-01-21  Matthias Clasen  <matthiasc@poet.de>
 
        * gtk/gtkitemfactory.c (gtk_item_factory_popup, 
index 73cc454787168f3ea97823b25749f386f7b2e009..630283ff9c6d5b0b139ee93756ead2adbe454325 100644 (file)
@@ -1,3 +1,8 @@
+Mon Jan 21 18:28:17 2002  Jonathan Blandford  <jrb@redhat.com>
+
+       * gtk/gtktreeview.c (gtk_tree_view_adjustment_changed): Update
+       top_row.  Remove extraneous print statements.
+
 2002-01-21  Matthias Clasen  <matthiasc@poet.de>
 
        * gtk/gtkitemfactory.c (gtk_item_factory_popup, 
index 73cc454787168f3ea97823b25749f386f7b2e009..630283ff9c6d5b0b139ee93756ead2adbe454325 100644 (file)
@@ -1,3 +1,8 @@
+Mon Jan 21 18:28:17 2002  Jonathan Blandford  <jrb@redhat.com>
+
+       * gtk/gtktreeview.c (gtk_tree_view_adjustment_changed): Update
+       top_row.  Remove extraneous print statements.
+
 2002-01-21  Matthias Clasen  <matthiasc@poet.de>
 
        * gtk/gtkitemfactory.c (gtk_item_factory_popup, 
index 73cc454787168f3ea97823b25749f386f7b2e009..630283ff9c6d5b0b139ee93756ead2adbe454325 100644 (file)
@@ -1,3 +1,8 @@
+Mon Jan 21 18:28:17 2002  Jonathan Blandford  <jrb@redhat.com>
+
+       * gtk/gtktreeview.c (gtk_tree_view_adjustment_changed): Update
+       top_row.  Remove extraneous print statements.
+
 2002-01-21  Matthias Clasen  <matthiasc@poet.de>
 
        * gtk/gtkitemfactory.c (gtk_item_factory_popup, 
index 73cc454787168f3ea97823b25749f386f7b2e009..630283ff9c6d5b0b139ee93756ead2adbe454325 100644 (file)
@@ -1,3 +1,8 @@
+Mon Jan 21 18:28:17 2002  Jonathan Blandford  <jrb@redhat.com>
+
+       * gtk/gtktreeview.c (gtk_tree_view_adjustment_changed): Update
+       top_row.  Remove extraneous print statements.
+
 2002-01-21  Matthias Clasen  <matthiasc@poet.de>
 
        * gtk/gtkitemfactory.c (gtk_item_factory_popup, 
index 73cc454787168f3ea97823b25749f386f7b2e009..630283ff9c6d5b0b139ee93756ead2adbe454325 100644 (file)
@@ -1,3 +1,8 @@
+Mon Jan 21 18:28:17 2002  Jonathan Blandford  <jrb@redhat.com>
+
+       * gtk/gtktreeview.c (gtk_tree_view_adjustment_changed): Update
+       top_row.  Remove extraneous print statements.
+
 2002-01-21  Matthias Clasen  <matthiasc@poet.de>
 
        * gtk/gtkitemfactory.c (gtk_item_factory_popup, 
index 73cc454787168f3ea97823b25749f386f7b2e009..630283ff9c6d5b0b139ee93756ead2adbe454325 100644 (file)
@@ -1,3 +1,8 @@
+Mon Jan 21 18:28:17 2002  Jonathan Blandford  <jrb@redhat.com>
+
+       * gtk/gtktreeview.c (gtk_tree_view_adjustment_changed): Update
+       top_row.  Remove extraneous print statements.
+
 2002-01-21  Matthias Clasen  <matthiasc@poet.de>
 
        * gtk/gtkitemfactory.c (gtk_item_factory_popup, 
index 66b9085093613db606f2bd741f77b6c48c51b966..19ca7f33a82e1d8f6b8cc8e28b6394b109b68d7d 100644 (file)
@@ -104,6 +104,8 @@ struct _GtkTreeViewPrivate
   /* bin_window offset */
   GtkTreeRowReference *top_row;
   gint top_row_dy;
+  /* dy == y pos of top_row + top_row_dy */
+  /* we cache it for simplicity of the code */
   gint dy;
   gint drag_column_x;
 
index 47c132690cdc5db57257a720637b85fcdf0cc8d1..6cbc0ee15881ef2a3d0951d9ccc449c398ee1a0a 100644 (file)
@@ -1082,6 +1082,11 @@ gtk_tree_view_destroy (GtkObject *object)
       tree_view->priv->drag_dest_row = NULL;
     }
 
+  if (tree_view->priv->top_row != NULL)
+    {
+      gtk_tree_row_reference_free (tree_view->priv->top_row);
+      tree_view->priv->top_row = NULL;
+    }
 
   if (tree_view->priv->column_drop_func_data &&
       tree_view->priv->column_drop_func_data_destroy)
@@ -3197,6 +3202,8 @@ validate_visible_area (GtkTreeView *tree_view)
   gint y, height, offset;
   gboolean validated_area = FALSE;
   gboolean size_changed = FALSE;
+  gint height_above;
+  gint height_below;
   
   if (tree_view->priv->tree == NULL)
     return;
@@ -5756,7 +5763,6 @@ _gtk_tree_view_column_start_drag (GtkTreeView       *tree_view,
   gint x, y, width, height;
 
   g_return_if_fail (tree_view->priv->column_drag_info == NULL);
-  g_print ("start drag!\n");
 
   gtk_tree_view_set_column_drag_info (tree_view, column);
 
@@ -6504,6 +6510,10 @@ gtk_tree_view_adjustment_changed (GtkAdjustment *adjustment,
   if (GTK_WIDGET_REALIZED (tree_view))
     {
       gint dy;
+      GtkTreePath *path;
+      GtkRBTree *tree;
+      GtkRBNode *node;
+       
       gdk_window_move (tree_view->priv->bin_window,
                       - tree_view->priv->hadjustment->value,
                       TREE_VIEW_HEADER_HEIGHT (tree_view));
@@ -6512,7 +6522,18 @@ gtk_tree_view_adjustment_changed (GtkAdjustment *adjustment,
                       0);
       dy = tree_view->priv->dy - (int) tree_view->priv->vadjustment->value;
       gdk_window_scroll (tree_view->priv->bin_window, 0, dy);
+
+      /* update our dy and top_row */
       tree_view->priv->dy = (int) tree_view->priv->vadjustment->value;
+      tree_view->priv->top_row_dy = _gtk_rbtree_find_offset (tree_view->priv->tree,
+                                                            tree_view->priv->dy,
+                                                            &tree, &node);
+      g_return_if_fail (tree != NULL);
+
+      path = _gtk_tree_view_find_path (tree_view, tree, node);
+      gtk_tree_row_reference_free (tree_view->priv->top_row);
+      tree_view->priv->top_row = gtk_tree_row_reference_new_proxy (G_OBJECT (tree_view), tree_view->priv->model, path);
+      gtk_tree_path_free (path);
 
       gdk_window_process_updates (tree_view->priv->bin_window, TRUE);
       gdk_window_process_updates (tree_view->priv->header_window, TRUE);
index 75b743a341d0b175e4ca56c4e29d139aa16f1ee7..03e4030c244721475cd8a70013fc5bd95b1827c3 100644 (file)
@@ -738,12 +738,9 @@ gtk_tree_view_column_button_event (GtkWidget *widget,
 
   g_return_val_if_fail (event != NULL, FALSE);
 
-  g_print ("event->type: %d\ncolumn->reorderable: %d\n", event->type, column->reorderable);
-
   if (event->type == GDK_BUTTON_PRESS &&
       column->reorderable)
     {
-      g_print ("setting maybe_reordered\n");
       column->maybe_reordered = TRUE;
       gdk_window_get_pointer (widget->window,
                              &column->drag_x,
@@ -756,13 +753,6 @@ gtk_tree_view_column_button_event (GtkWidget *widget,
       column->maybe_reordered)
     column->maybe_reordered = FALSE;
 
-
-  if (event->type == GDK_MOTION_NOTIFY &&
-      (column->maybe_reordered))
-    {
-      g_print ("motion:\n");
-    }
-      
   if (event->type == GDK_MOTION_NOTIFY &&
       (column->maybe_reordered) &&
       (gtk_drag_check_threshold (widget,